package com.springapp.mvc.dao.bean;

import java.util.ArrayList;
import java.util.List;

public class OperationExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public OperationExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andOperationidIsNull() {
            addCriterion("operationId is null");
            return (Criteria) this;
        }

        public Criteria andOperationidIsNotNull() {
            addCriterion("operationId is not null");
            return (Criteria) this;
        }

        public Criteria andOperationidEqualTo(Integer value) {
            addCriterion("operationId =", value, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidNotEqualTo(Integer value) {
            addCriterion("operationId <>", value, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidGreaterThan(Integer value) {
            addCriterion("operationId >", value, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidGreaterThanOrEqualTo(Integer value) {
            addCriterion("operationId >=", value, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidLessThan(Integer value) {
            addCriterion("operationId <", value, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidLessThanOrEqualTo(Integer value) {
            addCriterion("operationId <=", value, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidIn(List<Integer> values) {
            addCriterion("operationId in", values, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidNotIn(List<Integer> values) {
            addCriterion("operationId not in", values, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidBetween(Integer value1, Integer value2) {
            addCriterion("operationId between", value1, value2, "operationid");
            return (Criteria) this;
        }

        public Criteria andOperationidNotBetween(Integer value1, Integer value2) {
            addCriterion("operationId not between", value1, value2, "operationid");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationIsNull() {
            addCriterion("needUploadLocation is null");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationIsNotNull() {
            addCriterion("needUploadLocation is not null");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationEqualTo(Boolean value) {
            addCriterion("needUploadLocation =", value, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationNotEqualTo(Boolean value) {
            addCriterion("needUploadLocation <>", value, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationGreaterThan(Boolean value) {
            addCriterion("needUploadLocation >", value, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationGreaterThanOrEqualTo(Boolean value) {
            addCriterion("needUploadLocation >=", value, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationLessThan(Boolean value) {
            addCriterion("needUploadLocation <", value, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationLessThanOrEqualTo(Boolean value) {
            addCriterion("needUploadLocation <=", value, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationIn(List<Boolean> values) {
            addCriterion("needUploadLocation in", values, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationNotIn(List<Boolean> values) {
            addCriterion("needUploadLocation not in", values, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationBetween(Boolean value1, Boolean value2) {
            addCriterion("needUploadLocation between", value1, value2, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadlocationNotBetween(Boolean value1, Boolean value2) {
            addCriterion("needUploadLocation not between", value1, value2, "needuploadlocation");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsIsNull() {
            addCriterion("needUploadRecords is null");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsIsNotNull() {
            addCriterion("needUploadRecords is not null");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsEqualTo(Boolean value) {
            addCriterion("needUploadRecords =", value, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsNotEqualTo(Boolean value) {
            addCriterion("needUploadRecords <>", value, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsGreaterThan(Boolean value) {
            addCriterion("needUploadRecords >", value, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsGreaterThanOrEqualTo(Boolean value) {
            addCriterion("needUploadRecords >=", value, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsLessThan(Boolean value) {
            addCriterion("needUploadRecords <", value, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsLessThanOrEqualTo(Boolean value) {
            addCriterion("needUploadRecords <=", value, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsIn(List<Boolean> values) {
            addCriterion("needUploadRecords in", values, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsNotIn(List<Boolean> values) {
            addCriterion("needUploadRecords not in", values, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsBetween(Boolean value1, Boolean value2) {
            addCriterion("needUploadRecords between", value1, value2, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadrecordsNotBetween(Boolean value1, Boolean value2) {
            addCriterion("needUploadRecords not between", value1, value2, "needuploadrecords");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsIsNull() {
            addCriterion("needUploadSounds is null");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsIsNotNull() {
            addCriterion("needUploadSounds is not null");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsEqualTo(Boolean value) {
            addCriterion("needUploadSounds =", value, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsNotEqualTo(Boolean value) {
            addCriterion("needUploadSounds <>", value, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsGreaterThan(Boolean value) {
            addCriterion("needUploadSounds >", value, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsGreaterThanOrEqualTo(Boolean value) {
            addCriterion("needUploadSounds >=", value, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsLessThan(Boolean value) {
            addCriterion("needUploadSounds <", value, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsLessThanOrEqualTo(Boolean value) {
            addCriterion("needUploadSounds <=", value, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsIn(List<Boolean> values) {
            addCriterion("needUploadSounds in", values, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsNotIn(List<Boolean> values) {
            addCriterion("needUploadSounds not in", values, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsBetween(Boolean value1, Boolean value2) {
            addCriterion("needUploadSounds between", value1, value2, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andNeeduploadsoundsNotBetween(Boolean value1, Boolean value2) {
            addCriterion("needUploadSounds not between", value1, value2, "needuploadsounds");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateIsNull() {
            addCriterion("recordsBeginDate is null");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateIsNotNull() {
            addCriterion("recordsBeginDate is not null");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateEqualTo(String value) {
            addCriterion("recordsBeginDate =", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateNotEqualTo(String value) {
            addCriterion("recordsBeginDate <>", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateGreaterThan(String value) {
            addCriterion("recordsBeginDate >", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateGreaterThanOrEqualTo(String value) {
            addCriterion("recordsBeginDate >=", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateLessThan(String value) {
            addCriterion("recordsBeginDate <", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateLessThanOrEqualTo(String value) {
            addCriterion("recordsBeginDate <=", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateLike(String value) {
            addCriterion("recordsBeginDate like", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateNotLike(String value) {
            addCriterion("recordsBeginDate not like", value, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateIn(List<String> values) {
            addCriterion("recordsBeginDate in", values, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateNotIn(List<String> values) {
            addCriterion("recordsBeginDate not in", values, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateBetween(String value1, String value2) {
            addCriterion("recordsBeginDate between", value1, value2, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsbegindateNotBetween(String value1, String value2) {
            addCriterion("recordsBeginDate not between", value1, value2, "recordsbegindate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateIsNull() {
            addCriterion("recordsEndDate is null");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateIsNotNull() {
            addCriterion("recordsEndDate is not null");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateEqualTo(String value) {
            addCriterion("recordsEndDate =", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateNotEqualTo(String value) {
            addCriterion("recordsEndDate <>", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateGreaterThan(String value) {
            addCriterion("recordsEndDate >", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateGreaterThanOrEqualTo(String value) {
            addCriterion("recordsEndDate >=", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateLessThan(String value) {
            addCriterion("recordsEndDate <", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateLessThanOrEqualTo(String value) {
            addCriterion("recordsEndDate <=", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateLike(String value) {
            addCriterion("recordsEndDate like", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateNotLike(String value) {
            addCriterion("recordsEndDate not like", value, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateIn(List<String> values) {
            addCriterion("recordsEndDate in", values, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateNotIn(List<String> values) {
            addCriterion("recordsEndDate not in", values, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateBetween(String value1, String value2) {
            addCriterion("recordsEndDate between", value1, value2, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andRecordsenddateNotBetween(String value1, String value2) {
            addCriterion("recordsEndDate not between", value1, value2, "recordsenddate");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsIsNull() {
            addCriterion("uploadSoundsIds is null");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsIsNotNull() {
            addCriterion("uploadSoundsIds is not null");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsEqualTo(String value) {
            addCriterion("uploadSoundsIds =", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsNotEqualTo(String value) {
            addCriterion("uploadSoundsIds <>", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsGreaterThan(String value) {
            addCriterion("uploadSoundsIds >", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsGreaterThanOrEqualTo(String value) {
            addCriterion("uploadSoundsIds >=", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsLessThan(String value) {
            addCriterion("uploadSoundsIds <", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsLessThanOrEqualTo(String value) {
            addCriterion("uploadSoundsIds <=", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsLike(String value) {
            addCriterion("uploadSoundsIds like", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsNotLike(String value) {
            addCriterion("uploadSoundsIds not like", value, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsIn(List<String> values) {
            addCriterion("uploadSoundsIds in", values, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsNotIn(List<String> values) {
            addCriterion("uploadSoundsIds not in", values, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsBetween(String value1, String value2) {
            addCriterion("uploadSoundsIds between", value1, value2, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andUploadsoundsidsNotBetween(String value1, String value2) {
            addCriterion("uploadSoundsIds not between", value1, value2, "uploadsoundsids");
            return (Criteria) this;
        }

        public Criteria andIsexcutedIsNull() {
            addCriterion("isExcuted is null");
            return (Criteria) this;
        }

        public Criteria andIsexcutedIsNotNull() {
            addCriterion("isExcuted is not null");
            return (Criteria) this;
        }

        public Criteria andIsexcutedEqualTo(Boolean value) {
            addCriterion("isExcuted =", value, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedNotEqualTo(Boolean value) {
            addCriterion("isExcuted <>", value, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedGreaterThan(Boolean value) {
            addCriterion("isExcuted >", value, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedGreaterThanOrEqualTo(Boolean value) {
            addCriterion("isExcuted >=", value, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedLessThan(Boolean value) {
            addCriterion("isExcuted <", value, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedLessThanOrEqualTo(Boolean value) {
            addCriterion("isExcuted <=", value, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedIn(List<Boolean> values) {
            addCriterion("isExcuted in", values, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedNotIn(List<Boolean> values) {
            addCriterion("isExcuted not in", values, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedBetween(Boolean value1, Boolean value2) {
            addCriterion("isExcuted between", value1, value2, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andIsexcutedNotBetween(Boolean value1, Boolean value2) {
            addCriterion("isExcuted not between", value1, value2, "isexcuted");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNull() {
            addCriterion("createTime is null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIsNotNull() {
            addCriterion("createTime is not null");
            return (Criteria) this;
        }

        public Criteria andCreatetimeEqualTo(Long value) {
            addCriterion("createTime =", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotEqualTo(Long value) {
            addCriterion("createTime <>", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThan(Long value) {
            addCriterion("createTime >", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeGreaterThanOrEqualTo(Long value) {
            addCriterion("createTime >=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThan(Long value) {
            addCriterion("createTime <", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeLessThanOrEqualTo(Long value) {
            addCriterion("createTime <=", value, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeIn(List<Long> values) {
            addCriterion("createTime in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotIn(List<Long> values) {
            addCriterion("createTime not in", values, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeBetween(Long value1, Long value2) {
            addCriterion("createTime between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andCreatetimeNotBetween(Long value1, Long value2) {
            addCriterion("createTime not between", value1, value2, "createtime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeIsNull() {
            addCriterion("excuteTime is null");
            return (Criteria) this;
        }

        public Criteria andExcutetimeIsNotNull() {
            addCriterion("excuteTime is not null");
            return (Criteria) this;
        }

        public Criteria andExcutetimeEqualTo(Long value) {
            addCriterion("excuteTime =", value, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeNotEqualTo(Long value) {
            addCriterion("excuteTime <>", value, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeGreaterThan(Long value) {
            addCriterion("excuteTime >", value, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeGreaterThanOrEqualTo(Long value) {
            addCriterion("excuteTime >=", value, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeLessThan(Long value) {
            addCriterion("excuteTime <", value, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeLessThanOrEqualTo(Long value) {
            addCriterion("excuteTime <=", value, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeIn(List<Long> values) {
            addCriterion("excuteTime in", values, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeNotIn(List<Long> values) {
            addCriterion("excuteTime not in", values, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeBetween(Long value1, Long value2) {
            addCriterion("excuteTime between", value1, value2, "excutetime");
            return (Criteria) this;
        }

        public Criteria andExcutetimeNotBetween(Long value1, Long value2) {
            addCriterion("excuteTime not between", value1, value2, "excutetime");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}